package ar.com.profertil.frances.entity;

import java.io.Serializable;

import ar.com.profertil.utils.entity.Element;

/**
 * The Class Header.
 *
 * @author augusto.ferrari@softtek.com
 * 
 * Esta clase mapea la estructura Header.
 */
public class Header implements Element, Serializable {

	/** The Constant serialVersionUID. */
	private static final long serialVersionUID = 5708151176065577578L;
	
	/**
	 * Instantiates a new header.
	 */
	public Header() {
	}
	
	/** The codigo registro. */
	private String codigoRegistro;
	
	/** The identificador empresa. */
	private String identificadorEmpresa;
	
	/** The numero archivo. */
	private String numeroArchivo;
	
	/** The numero secuencia. */
	private String numeroSecuencia;
	
	/** The fecha desde. */
	private String fechaDesde;
	
	/** The fecha hasta. */
	private String fechaHasta;
	
	/** The total registros. */
	private String totalRegistros;
	
	/** The total importes. */
	private String totalImportes;
	
	/** The moneda. */
	private String moneda;
	
	/** The cuenta hija. */
	private String cuentaHija;
	
	/** The titulo. */
	private String titulo;
	
	/** The cuenta. */
	private String cuenta;
	
	/** The filler. */
	private String filler;

	/**
	 * Gets the codigo registro.
	 *
	 * @return the codigo registro
	 */
	public String getCodigoRegistro() {
		return codigoRegistro;
	}
	
	/**
	 * Sets the codigo registro.
	 *
	 * @param codigoRegistro the new codigo registro
	 */
	public void setCodigoRegistro(String codigoRegistro) {
		this.codigoRegistro = codigoRegistro;
	}
	
	/**
	 * Gets the identificador empresa.
	 *
	 * @return the identificador empresa
	 */
	public String getIdentificadorEmpresa() {
		return identificadorEmpresa;
	}
	
	/**
	 * Sets the identificador empresa.
	 *
	 * @param identificadorEmpresa the new identificador empresa
	 */
	public void setIdentificadorEmpresa(String identificadorEmpresa) {
		this.identificadorEmpresa = identificadorEmpresa;
	}
	
	/**
	 * Gets the numero archivo.
	 *
	 * @return the numero archivo
	 */
	public String getNumeroArchivo() {
		return numeroArchivo;
	}
	
	/**
	 * Sets the numero archivo.
	 *
	 * @param numeroArchivo the new numero archivo
	 */
	public void setNumeroArchivo(String numeroArchivo) {
		this.numeroArchivo = numeroArchivo;
	}
	
	/**
	 * Gets the numero secuencia.
	 *
	 * @return the numero secuencia
	 */
	public String getNumeroSecuencia() {
		return numeroSecuencia;
	}
	
	/**
	 * Sets the numero secuencia.
	 *
	 * @param numeroSecuencia the new numero secuencia
	 */
	public void setNumeroSecuencia(String numeroSecuencia) {
		this.numeroSecuencia = numeroSecuencia;
	}
	
	/**
	 * Gets the fecha desde.
	 *
	 * @return the fecha desde
	 */
	public String getFechaDesde() {
		return fechaDesde;
	}
	
	/**
	 * Sets the fecha desde.
	 *
	 * @param fechaDesde the new fecha desde
	 */
	public void setFechaDesde(String fechaDesde) {
		this.fechaDesde = fechaDesde;
	}
	
	/**
	 * Gets the fecha hasta.
	 *
	 * @return the fecha hasta
	 */
	public String getFechaHasta() {
		return fechaHasta;
	}
	
	/**
	 * Sets the fecha hasta.
	 *
	 * @param fechaHasta the new fecha hasta
	 */
	public void setFechaHasta(String fechaHasta) {
		this.fechaHasta = fechaHasta;
	}
	
	/**
	 * Gets the total registros.
	 *
	 * @return the total registros
	 */
	public String getTotalRegistros() {
		return totalRegistros;
	}
	
	/**
	 * Sets the total registros.
	 *
	 * @param totalRegistros the new total registros
	 */
	public void setTotalRegistros(String totalRegistros) {
		this.totalRegistros = totalRegistros;
	}
	
	/**
	 * Gets the total importes.
	 *
	 * @return the total importes
	 */
	public String getTotalImportes() {
		return totalImportes;
	}
	
	/**
	 * Sets the total importes.
	 *
	 * @param totalImportes the new total importes
	 */
	public void setTotalImportes(String totalImportes) {
		this.totalImportes = totalImportes;
	}
	
	/**
	 * Gets the moneda.
	 *
	 * @return the moneda
	 */
	public String getMoneda() {
		return moneda;
	}
	
	/**
	 * Sets the moneda.
	 *
	 * @param moneda the new moneda
	 */
	public void setMoneda(String moneda) {
		this.moneda = moneda;
	}
	
	/**
	 * Gets the cuenta hija.
	 *
	 * @return the cuenta hija
	 */
	public String getCuentaHija() {
		return cuentaHija;
	}
	
	/**
	 * Sets the cuuenta hija.
	 *
	 * @param cuentaHija the new cuuenta hija
	 */
	public void setCuuentaHija(String cuentaHija) {
		this.cuentaHija = cuentaHija;
	}
	
	/**
	 * Gets the titulo.
	 *
	 * @return the titulo
	 */
	public String getTitulo() {
		return titulo;
	}
	
	/**
	 * Sets the titulo.
	 *
	 * @param titulo the new titulo
	 */
	public void setTitulo(String titulo) {
		this.titulo = titulo;
	}
	
	/**
	 * Gets the cuenta.
	 *
	 * @return the cuenta
	 */
	public String getCuenta() {
		return cuenta;
	}
	
	/**
	 * Sets the cuenta.
	 *
	 * @param cuenta the new cuenta
	 */
	public void setCuenta(String cuenta) {
		this.cuenta = cuenta;
	}
	
	/**
	 * Gets the filler.
	 *
	 * @return the filler
	 */
	public String getFiller() {
		return filler;
	}
	
	/**
	 * Sets the filler.
	 *
	 * @param filler the new filler
	 */
	public void setFiller(String filler) {
		this.filler = filler;
	}
	
	/**
	 * To string.
	 *
	 * @return the string
	 */
	@Override
	public String toString() {
		String salida = "<ZHEADER_FI>" +
				 	"<ZCODREG>" + codigoRegistro + "</ZCODREG>" +
				 	"<ZIDEMPRESA>" + identificadorEmpresa + "</ZIDEMPRESA>" +
				 	"<ZRENDICION>" + numeroArchivo + "</ZRENDICION>" +
				 	"<ZSECUENCIA>" + numeroSecuencia + "</ZSECUENCIA>" +
				 	"<ZFREND_D>" + fechaDesde + "</ZFREND_D>" +
				 	"<ZFREND_H>" + fechaHasta + "</ZFREND_H>" + 
				 	"<ZTOT_REG>" + totalRegistros + "</ZTOT_REG>" +
				 	"<ZTOT_IMP>" + totalImportes + "</ZTOT_IMP>" +
				 	"<ZMONEDA>" + moneda + "</ZMONEDA>" +
				 	"<ZCUENTA_REC>" + cuentaHija + "</ZCUENTA_REC>" +
				 	"<ZTITULO>" + titulo + "</ZTITULO>" +
				 	"<ZCUENTA>" + cuenta + "</ZCUENTA>" +
				 	"<ZESPACIO>" + filler + "</ZESPACIO>" +
				 "</ZHEADER_FI>";
		return salida;
	}

	/**
	 * To csv string.
	 *
	 * @return the string
	 */
	public String toCSVString() {
		return codigoRegistro + "," +
			   identificadorEmpresa + "," +
			   numeroArchivo + "," +
			   numeroSecuencia + "," +
			   fechaDesde + "," +
			   fechaHasta + "," +
			   totalRegistros + "," +
			   totalImportes + "," +
			   moneda + "," +
			   cuentaHija + "," +
			   titulo + "," +
			   cuenta + "," +
			   filler;
	}
}
 